As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to these users is an information handling system. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may vary with respect to the type of information handled; the methods for handling the information; the methods for processing, storing or communicating the information; the amount of information processed, stored, or communicated; and the speed and efficiency with which the information is processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include or comprise a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems.
Information handling systems may employ a processor, DRAM (dynamic random access memory), and hard disk drives to store persistent data, as well as a storage hierarchy with multiple levels of cache fabricated on a die. A number of semiconductor storage alternatives may be used for cache storage and as a solid-sate drive (SSD) to store persistent data. Flash memory, for example, may be used to provide intermediate cache storage under control of an operating system or a number of device drivers and to provide faster storing of persistent data. In certain cases, flash memory may provide a cost per bit and/or a power rating between those of high capacity disks and DRAM.
One problem related to use of flash memory and other semiconductor storage alternatives is memory wear. Flash memory, for example, may withstand only a limited number erase-write cycles before its integrity begins to deteriorate. Relative to DRAM, flash memory may be vulnerable to memory wear with a small number of write cycles. One approach to mitigating wear problems is wear leveling. Wear leveling is a technique where an attempt is made to evenly distribute the number of erase-write cycles across memory blocks, in order to avoid a concentration of erase-write cycles.
Another problem related to semiconductor storage technologies is speed of access. Relative to DRAM, semiconductor storage alternatives may be slower and may exhibit a wide range of response times. The problem of access speed may be further complicated by an increased vulnerability to memory wear due to caching.
Another problem related to these technologies is block access. Semiconductor storage devices, such as flash memory, may not operate efficiently unless accessed in blocks that may be large relative to DRAM. A single flash device may encounter a latency penalty when smaller blocks are read. When multiple devices are accessed in parallel, the latency penalty may be exacerbated.